#include <iostream>
#include <unordered_map>
#include <algorithm>

using namespace std;

typedef long long LL;

const int N = 1E9 + 7;

int main()
{
    int n;
    cin >> n;
    unordered_map<int, int> primes;
    while (n--)
    {
        int x;
        cin >> x;
        for (int i = 2; i <= x / i; ++i)
        {
            while (x % i == 0)
            {
                x /= i;
                ++primes[i];
            }
        }
        if (x > 1)
        {
            primes[x]++;
        }
        // n本身为质数
    }
    LL ret = 1;
    for (auto prime : primes)
    {
        ret = ret * (prime.second + 1) % N;
    }
    cout << ret;

    return 0;
}